﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.qrrt
    多项式方程求根QR方法
    参数 a: a[n+1]存放n次多项式的n+1个系数。
    参数 n: 多项式次数。
    参数 xr: xr[n]返回n个根的实部。
    参数 xi: xi[n]返回n个根的虚部。
    参数 eps: eps控制精度要求。
    返回值 函数返回在求上H矩阵特征值时返回的标志值。若>0则正常。
    */

    public static string drive_qrrt()
    {
        int i, n;
        double[] xr = new double[6];
        double[] xi = new double[6];
        double[] a = new double[7] {
            -30.0, 10.5, -10.5, 1.5, 4.5, -7.5, 1.5
        };
        double eps;
        n = 6;
        eps = 0.000001;

        string rs = "";
        rs += gl.html_table("Mat A:", a);

        i = gl.qrrt((a), n, (xr), (xi), eps);
        if (i <= 0) return "error: 0";

        rs += gl.html_table("Mat Xr:", xr);
        rs += gl.html_table("Mat Xi:", xi);

        return rs;


    }
}
